Extension point policies
Documentation
Extension point defining versioning policies for documents. Contributions to this extension point are available for VersioningService implementing ExtendableVersioningService interface.
Example:
<policy beforeUpdate="true"
id="no-versioning-for-system-before-update" increment="NONE" order="1">
<filter-id>system-document</filter-id>
</policy>
<policy id="no-versioning-for-system-after-update" increment="NONE" order="1">
<filter-id>system-document</filter-id>
</policy>
<policy id="versioning-with-initial-version" increment="MINOR" order="2">
<initialState major="1" minor="0"/>
</policy>
The beforeUpdate attribute enables, if set to true, to apply versioning before the actual update of the document. The default value for this attribute is false.
The increment attribute defines which version number (minor or major) have to be incremented. The available options for this attribute are : - NONE - MINOR - MAJOR
The order attribute defines in which order the policies should be taken into account. They are taken in ascending order.
Initial state is the initial version number of the document. Default is 0.0.
Each policy contains one or multiple filters defining under which conditions the document should be versioned (Note that filters for a policy are OR-ed).
@since 9.1
Contribution Descriptors
- Class: org.nuxeo.ecm.core.versioning.VersioningPolicyDescriptor
Existing Contributions
Contributions are presented in the same order as the registration order on this extension point. This order is displayed before the contribution name, in brackets.
-
<extension point="policies" target="org.nuxeo.ecm.core.versioning.VersioningService"> <!-- Range [1, 10] for order is reserved for Nuxeo System Policies--> <!-- See https://doc.nuxeo.com/nxdoc/versioning/#-anchor-versioning-policies-versioning-policies-and-filters --> <policy beforeUpdate="true" id="no-versioning-for-collection-before-update" increment="NONE" order="2"> <filter-id>collection-actions</filter-id> </policy> <policy beforeUpdate="false" id="no-versioning-for-collection-after-update" increment="NONE" order="2"> <filter-id>collection-actions</filter-id> </policy> </extension>
-
<extension point="policies" target="org.nuxeo.ecm.core.versioning.VersioningService"> <!-- Range [1, 10] for order is reserved for Nuxeo System Policies--> <!-- See https://doc.nuxeo.com/nxdoc/versioning/#-anchor-versioning-policies-versioning-policies-and-filters --> <policy beforeUpdate="true" id="no-versioning-for-cmis-before-update" increment="NONE" order="2"> <filter-id>cmis-document</filter-id> </policy> <policy id="no-versioning-for-cmis-after-update" increment="NONE" order="2"> <filter-id>cmis-document</filter-id> </policy> </extension>
-
<extension point="policies" target="org.nuxeo.ecm.core.versioning.VersioningService"> <policy beforeUpdate="true" id="no-versioning-for-system-before-update" increment="NONE" order="1"> <filter-id>system-document</filter-id> </policy> <policy id="no-versioning-for-system-after-update" increment="NONE" order="1"> <filter-id>system-document</filter-id> </policy> <policy id="note-as-wiki" increment="MINOR" order="50"> <filter-id>note-filter</filter-id> </policy> <policy beforeUpdate="true" id="collaborative-save" increment="MINOR" order="100"> <filter-id>last-contributor-different-filter</filter-id> </policy> </extension>
-
<extension point="policies" target="org.nuxeo.ecm.core.versioning.VersioningService"> <policy beforeUpdate="true" id="versioning-delay" increment="MINOR" order="150"> <filter-id>versioning-delay</filter-id> <filter-id>drive-filter</filter-id> <filter-id>not-folderish</filter-id> </policy> </extension>